ReadMe for the C:\AppleX\SAMPLES\PICLIST sub-directory 

Introduction

The PICLIST sub-directory contains a sample PICLIST script in Apple II 
text format and the sample images in Apple II HIRES BSaved format listed 
in the PICLIST script. 

These can be used to test APPLEVU.SYSTEM or ABINLOAD.SYSTEM by transferring 
these along with APPLEVU.SYSTEM or ABINLOAD.SYSTEM to an Apple II disk or 
diskimage. The projects to build these programs are in their respective 
sub-directories also under C:\AppleX\SAMPLES.

General Description

APPLEVU.SYSTEM is a slideshow for the Apple IIe written in Manx Aztec C65 
Version 3.2b  and runs under PRODOS 8. It displays BSaved HIRES Images and
requires a text script called PICLIST. It also displays Apple II HIRES Images
in the .TOP and .BOT file formats and Apple II HIRES Image Fragments in the 
.RAG file formats. These 3 additional formats were developed by Bill Buckels
in conjunction with the development of the "Little Running Steps" Collection.

ABINLOAD.SYSTEM is a picture viewer for the Apple IIe written in Manx Aztec 
C65 Version 3.2b  and runs under PRODOS 8. It displays BSaved HIRES Images and
requires a text script called PICLIST. It also displays Apple II HIRES Images
in the .TOP and .BOT file formats and Apple II HIRES Image Fragments in the 
.RAG file formats. These 3 additional formats were developed by Bill Buckels
in conjunction with the development of the "Little Running Steps" Collection.

Graphics File Formats - .TOP, .BOT, and .RAG 

All of these are the same file format. The file extensions are descriptive 
naming variations. These are uncompressed graphics files in scanline 
orientation and are aligned on 2-byte (14 pixel) boundaries. They have a 
2 byte header, with the first byte being the width of the image in bytes
(7 pixels per byte) and the second byte being the height of the image. 
The header is followed by raw scanline oriented data to be displayed 
directly on the Apple II screen in HIRES graphics mode.

Unlike the Apple II BSaved HIRES Image format which is not raster aligned
these files are not padded and store visible graphics data only which 
results in a slightly smaller file size over a screen saved in the BSaved 
format.

The .TOP file format is intended for use in Apple II mixed text and graphics 
screen mode and is 280 x 160 in size which is the same size as the graphics 
area in this screen mode.

The .BOT file format is intended for use in Apple II full graphics screen mode 
and is 280 x 192 in size which is the same size as the graphics area in this 
screen mode.

The .RAG file format is a variable size image fragment with a mazimum size of
280 x 192 which is the maximum size of Apple II HIRES graphics screen mode.

Technical Notes

Apple Hi Res screen and direct addressing from Aztec C Sys programs running 
under ProDOS.

1. Programs must be linked with a "Hole" from 0x4000 to 0x6000
which is the area in memory for the second page (Page 2) of HI
RES memory in the lower bank of memory (80 Store is switched off)

This ensures that no code will be in the screen area.

Since the Aztec Cross-Compiler creates SYS programs with a 4 byte 
header for compatibility with the AppleSoft BASIC "LOAD" command
which must be removed to load the program in PRODOS as a SYS program
the offset for the "Hole" for the purposes of linking with LN65 is 
actually from 0x4000 to 0x6004. When the AppleSoft BASIC header is
removed the "Hole" will be shifted back by 4 bytes.

We cannot use the first page of HI RES graphics (Page 1) because
of a memory conflict between the ProDOS load address for SYS
programs ( 0x2000 ) and the address of the first page of the HI RES
screen (Page 1) which are mutually exclusive.

2. Review of Physical Data

Resolution     : 280  Pixels X 192 Rasters
               ( 140 "Pixel-Pairs" X 192 Rasters)
Raster Width   : 40   Bytes
               ( 20  "Byte Pairs")
Pixels per Byte: 7    Pixels/Byte
               ( 7   "Pixel-Pairs"/"Byte Pair")

BYTE VALUES and the color bitmap:

To be properly considered the HI RES color map should be
approached as a series of Byte Pairs since the color value
that is produced by the video adapter will be determined by the
pixel location on the physical screen rather than simply by the
value in a single byte.

Further, Because of the undesirable color anomalies that are
created when complex displays of several colors are attempted,
the display is properly best considered with only 3-colors, being
Black and White and a Third "Composite" Color with a predefined
order of precedence and color priorities.

Black and White Must Be Considered Primary colors, with all other
colors being subsets of their values. Said values are pixel pair
combinations. This means that if Black and White are given equal
status, then the horizontal screen resolution should be
considered as 140 "pixel-pairs". By giving White Priority over
Black (Considering Black as the Background Color), we can
actually approach a screen resolution of 280 white pixels (sort
of). More correctly, this allows us to produce white at 280
distinct locations providing we have no other colors to consider
but because we must make each dot two dots wide to be white even
though our accuracy is to a resolution of 280, our detail is
still only to roughly 140 pixel-pairs with exceptions where
pixels are grouped.

In plain english, when the picture is complex, since black is
always used to create other secondary colors, then black should
be displayed in pairs of pixels. Black can then be overlaid with
a single secondary color to create a horizontal resolution of 140
pixel pairs for the second color without "bleeding" between
colors. This has the effect similar to the use of color plates in
a photographic process. The secondary color could concievably be
varied for different zones but areas of secondary colors
should not be mixed in a complex manner.

(note - this graph is arranged in order of pixel plotting
sequence. In the actual Byte bit 7 is the equivalent of a logical
shift right of the bit value by 7 [ i.e. bit << 7 ].)

Byte Pair Diagrams :

Note- Re: Figure 1 and 2 the Palette Select Bit could have been
"Don't Care", since Black and White are available in either
palette by using the same Pixel Pair Pattern.

Figure  1-
Palette 0-

All BLACK : byte value = '\x00'______ Palette Select Bit _____
                              :                               :
  0   1   2   3   4   5   6   7   0   1   2   3   4   5   6   7
-----------------------------------------------------------------
: 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 : 0 :
-----------------------------------------------------------------
: :   :   :   :   :   :   :     : :   :   :   :   :   :   :     :
: 0   1   2   3   4   5   6     : 7   8   9   10  11  12  13    :
: pixels                        :                               :
:___________ Byte ZERO _________:___________ Byte ONE __________:


Figure  2-
Palette 1-

All WHITE : byte value = '\xff'______ Palette Select Bit _____
                              :                               :
  0   1   2   3   4   5   6   7   0   1   2   3   4   5   6   7
-----------------------------------------------------------------
: 1 : 1 : 1 : 1 : 1 : 1 : 1 : 1 : 1 : 1 : 1 : 1 : 1 : 1 : 1 : 1 :
-----------------------------------------------------------------
: :   :   :   :   :   :   :     : :   :   :   :   :   :   :     :
: 0   1   2   3   4   5   6     : 7   8   9   10  11  12  13    :
: pixels                        :                               :
:___________ Byte ZERO _________:___________ Byte ONE __________:


Figure  3 -
Palette 0 -  Bit 7 is LOW - Violet EVEN pixel or Green ODD pixel

All Violet (Turn Green Off)    ______ Palette Select Bit _____
                              :                               :
  0   1   2   3   4   5   6   7   0   1   2   3   4   5   6   7
-----------------------------------------------------------------
: 1 : 0 : 1 : 0 : 1 : 0 : 1 : 0 : 0 : 1 : 0 : 1 : 0 : 1 : 0 : 0 :
-----------------------------------------------------------------
: :   :   :   :   :   :   :     : :   :   :   :   :   :   :     :
: 0   1   2   3   4   5   6     : 7   8   9   10  11  12  13    :
: V   G   V   G   V   G   V     : G   V   G   V   G   V   G     :
: pixel colors                  :                               :
:___________ Byte ZERO _________:___________ Byte ONE __________:


Figure  4 -
Palette 0 -  Bit 7 is LOW - Violet EVEN pixel or Green ODD pixel

All Green (Turn Violet Off)    ______ Palette Select Bit _____
                              :                               :
  0   1   2   3   4   5   6   7   0   1   2   3   4   5   6   7
-----------------------------------------------------------------
: 0 : 1 : 0 : 1 : 0 : 1 : 0 : 0 : 1 : 0 : 1 : 0 : 1 : 0 : 1 : 0 :
-----------------------------------------------------------------
: :   :   :   :   :   :   :     : :   :   :   :   :   :   :     :
: 0   1   2   3   4   5   6     : 7   8   9   10  11  12  13    :
: V   G   V   G   V   G   V     : G   V   G   V   G   V   G     :
: pixel colors                  :                               :
:___________ Byte ZERO _________:___________ Byte ONE __________:


Figure  5 -
Palette 1 -  Bit 7 is HIGH- Blue EVEN pixel or Orange ODD pixel

All Blue (Turn Orange Off)     ______ Palette Select Bit _____
                              :                               :
  0   1   2   3   4   5   6   7   0   1   2   3   4   5   6   7
-----------------------------------------------------------------
: 1 : 0 : 1 : 0 : 1 : 0 : 1 : 1 : 0 : 1 : 0 : 1 : 0 : 1 : 0 : 1 :
-----------------------------------------------------------------
: :   :   :   :   :   :   :     : :   :   :   :   :   :   :     :
: 0   1   2   3   4   5   6     : 7   8   9   10  11  12  13    :
: B   O   B   O   B   O   B     : O   B   O   B   O   B   O     :
: pixel colors                  :                               :
:___________ Byte ZERO _________:___________ Byte ONE __________:


Figure  6 -
Palette 1 -  Bit 7 is HIGH - Blue EVEN pixel or Orange ODD pixel

All Orange(Turn Blue Off)      ______ Palette Select Bit _____
                              :                               :
  0   1   2   3   4   5   6   7   0   1   2   3   4   5   6   7
-----------------------------------------------------------------
: 0 : 1 : 0 : 1 : 0 : 1 : 0 : 1 : 1 : 0 : 1 : 0 : 1 : 0 : 1 : 1 :
-----------------------------------------------------------------
: :   :   :   :   :   :   :     : :   :   :   :   :   :   :     :
: 0   1   2   3   4   5   6     : 7   8   9   10  11  12  13    :
: B   O   B   O   B   O   B     : O   B   O   B   O   B   O     :
: pixel colors                  :                               :
:___________ Byte ZERO _________:___________ Byte ONE __________:


End of ReadMe
